package com.ruoyi.basicData.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalTime;
import java.util.Date;

/**
 * 班级管理对象 tbclass
 * 
 * @author ruoyi
 * @date 2025-06-23
 */
public class Tbclass extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 班级ID */
    private Long classId;


    /** 班级名称 */
    @Excel(name = "班级名称")
    private String name;

    /** 年级 */
    @Excel(name = "年级")
    private String grade;

    /** 班主任ID */
    @Excel(name = "班主任ID")
    private Long uid;

    /** 课程ID */
    @Excel(name = "课程ID")
    private Long courseId;

    /** 状态（0正常，1隐藏） */
    @Excel(name = "状态", readConverterExp = "0=正常，1隐藏")
    private Long status;

    /** 现有容量 */
    @Excel(name = "现有容量")
    private Long current;

    /** 最大容量 */
    @Excel(name = "最大容量")
    private Long capacity;

    /** 最佳容量 */
    @Excel(name = "最佳容量")
    private Long bestCapacity;

    /** 创建时间 */
    @Excel(name = "创建时间")
    private Date createtime;
    /** 更新时间 */
    @Excel(name = "更新时间")
    private Date updatetime;
    /** 班级上课时间 */
    @Excel(name = "班级上课时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private LocalTime startTime;
    /** 下课时间 */
    @Excel(name = "下课时间")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private LocalTime endTime;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String  courseName;

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    public void setClassId(Long classId) 
    {
        this.classId = classId;
    }

    public Long getClassId() 
    {
        return classId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setGrade(String grade) 
    {
        this.grade = grade;
    }

    public String getGrade() 
    {
        return grade;
    }

    public void setUid(Long uid) 
    {
        this.uid = uid;
    }

    public Long getUid() 
    {
        return uid;
    }

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setCurrent(Long current) 
    {
        this.current = current;
    }

    public Long getCurrent() 
    {
        return current;
    }

    public void setCapacity(Long capacity) 
    {
        this.capacity = capacity;
    }

    public Long getCapacity() 
    {
        return capacity;
    }

    public void setBestCapacity(Long bestCapacity) 
    {
        this.bestCapacity = bestCapacity;
    }

    public Long getBestCapacity() 
    {
        return bestCapacity;
    }

    public LocalTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalTime endTime) {
        this.endTime = endTime;
    }

    public LocalTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalTime startTime) {
        this.startTime = startTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("classId", getClassId())
            .append("name", getName())
            .append("grade", getGrade())
            .append("uid", getUid())
            .append("courseId", getCourseId())
            .append("status", getStatus())
            .append("createtime", getCreatetime())
            .append("updatetime", getUpdatetime())
            .append("current", getCurrent())
            .append("capacity", getCapacity())
            .append("bestCapacity", getBestCapacity())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
            .toString();
    }
}
